Historically, companies interested in software quality assurance for enterprise systems adopted methodologies and tools used for testing software in the software development space. While this approach worked initially, IT project managers quickly discovered several challenges:
First, Systems designed for simple automated regression testing of custom software, such as QTP, generate test scripts that are highly fragile when the underlying systems change. When systems change, scripts break and repairing them is both costly and time-consuming. Second, business process testing for enterprise systems requires the involvement of business users, yet legacy tools such as QTP require people with programming skills. Very few business subject matter experts are also visual basic programmers, so this creates costly resource issues. Modern, multi-system, end-to-end business processes are nearly impossible to test in an automated fashion using these legacy tools [1].